

#================================================================
#   Copyright (C) 2020belonging to YangZhengQing. All rights reserved.
#   
#   文件名称：Makefile
#   创 建 者：YangZhengQing
#   创建日期：2020年03月24日
#   描    述：
#
#================================================================


#定义gcc
CC := gcc

#定义子目录
SUBDIRS := main src obj

#定义bin目录
BIN_DIR := bin

#定义最终得可执行文件
BIN := my_app

#定义.o文件目录
OBJS_DIR := obj

#定义清除命令
RM := rm

#传参下一层Makefile
export CC OBJS_DIR BIN_DIR BIN

#总目标
all:check_bin compile_src

#创建bin目录
check_bin:
	mkdir -p $(BIN_DIR)

#编译子目录中的源码
compile_src:
	set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done

#清除文件
.PHONY:clean cleanall
clean:
	$(RM) -rf $(OBJS_DIR)/*.o

cleanall:
	$(RM) -rf $(OBJS_DIR)/*.o $(BIN_DIR)/$(BIN)
